Skip to content

[Python] TypeSpec migration for azure-mgmt-kusto#47195

Draft
msyyc wants to merge 4 commits into
Azure:mainfrom
msyyc:sdk-azure-mgmt-kusto
Draft

[Python] TypeSpec migration for azure-mgmt-kusto#47195
msyyc wants to merge 4 commits into
Azure:mainfrom
msyyc:sdk-azure-mgmt-kusto

Conversation

@msyyc
Copy link
Copy Markdown
Member

@msyyc msyyc commented May 28, 2026

[Python] TypeSpec migration for azure-mgmt-kusto

Spec source

Breaking change classification summary

Category Count Resolution
Property flattening removed (Rule 11) many ACCEPT
Pageable list models removed (Rule 8) 3 ACCEPT
Network Security Perimeter feature removed (not in TypeSpec) 16 ACCEPT
if_match/if_none_matchetag/match_condition (Rule 10) 3 ACCEPT
Parameters changed to keyword-only (Rule 9) 5 ACCEPT
Parameter reordering on ClustersOperations.begin_create_or_update 1 ACCEPT (consequence of Rule 10)
Mitigations 0

No spec-side mitigations were required: every breaking change is in the ACCEPT category per the SDK breaking-changes guide, or reflects a genuine service-side feature removal (NSP).

Accepted breaking changes that will remain

Multi-level property flattening removed (Rule 11)

Many models now expose a nested properties object that previously had its members flattened onto the parent. Affected models:

  • ClusterPrincipalAssignment (flattened → properties: ClusterPrincipalProperties)
  • ClusterUpdate (flattened → properties)
  • DatabasePrincipalAssignment (flattened → properties: DatabasePrincipalProperties)
  • EventGridDataConnection (flattened → properties: EventGridConnectionProperties)
  • EventGridDataConnectionWithManagedIdentity (flattened → properties: EventGridConnectionWithManagedIdentityProperties)
  • EventHubDataConnection (flattened → properties: EventHubConnectionProperties)
  • EventHubDataConnectionWithManagedIdentity (flattened → properties: EventHubConnectionWithManagedIdentityProperties)
  • IotHubDataConnection (flattened → properties: IotHubConnectionProperties)
  • FollowerDatabaseDefinitionGet (flattened → properties: FollowerDatabaseProperties)

Users must access these fields via .properties.<field> going forward, matching the REST API shape.

Pageable list models removed (Rule 8)

  • FollowerDatabaseListResultGet
  • ListResourceSkusResult
  • SkuDescriptionList

Pageable response wrappers are no longer exposed by the Python SDK; list operations return iterators directly.

Network Security Perimeter feature removed

The Network Security Perimeter (NSP) types do not exist in the TypeSpec spec — this is a service-side feature removal, not an SDK regression. Removed types:

  • NetworkSecurityPerimeter, NetworkSecurityPerimeterConfiguration, NetworkSecurityPerimeterConfigurationList, NetworkSecurityPerimeterConfigurationPropertiesProfile, NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation, NetworkSecurityPerimeterConfigurationProvisioningState
  • NspAccessRule, NspAccessRuleDirection, NspAccessRuleProperties, NspAccessRulePropertiesSubscriptionsItem
  • ProvisioningIssue, ProvisioningIssueProperties
  • IssueType, Severity, ResourceAssociationAccessMode

if_match / if_none_match replaced by etag / match_condition (Rule 10)

  • ClustersOperations.begin_create_or_update: if_match, if_none_match removed; etag, match_condition added
  • ClustersOperations.begin_update: if_match removed; etag, match_condition added

Replace if_match="<etag>" with etag="<etag>", match_condition=MatchConditions.IfNotModified.

Parameters changed to keyword-only (Rule 9)

  • DatabasesOperations.begin_create_or_update: caller_role is now keyword-only (default None)
  • DatabasesOperations.begin_update: caller_role is now keyword-only (default None)
  • DatabasesOperations.list_by_cluster: skiptoken is now keyword-only

Parameter reordering

  • ClustersOperations.begin_create_or_update parameter order changed as a direct consequence of the if_match/if_none_matchetag/match_condition replacement.

Spec mitigation PR

None required — no client.tsp was created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant